package com.lw.dao;

import com.lw.entity.SecKill;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.Date;
import java.util.List;

/**
 * Created by IntelliJ IDEA
 *
 * @Author L1W31
 * @Date 2021/8/3 20:33
 * @Version 1.0
 * @Description SecKill实体类的dao接口
 */

@Repository
public interface SecKillDao {

    /**
    * @Description: 减库存
    * @Param: [secKillId, killTime]
    * @return: 如果影响行数>1，表示更新库存的记录行数
    */
    int reduceNumber (@Param("secKillId") long secKillId, @Param("killTime") Date killTime);

    /**
    * @Description: 根据secKillId查询秒杀对象
    * @Param: [secKillId]
    * @return: 秒杀对象
    */
    SecKill queryById (@Param("secKillId") long secKillId);

    /**
    * @Description: 根据偏移量查询所有秒杀商品
    * @Param: [offset, limit]
    * @return: 秒杀商品列表
    */
    List<SecKill> queryAll (@Param("offset") int offset, @Param("limit") int limit);
}
